home *** CD-ROM | disk | FTP | other *** search
- WARNING: Do not use 'mc' to extract the tar file!
- All mc versions before 4.0.14 cannot extract symbolic links correctly.
-
- Linux includes the gnu make program by default but it is called 'make' on linux.
- You will definitely need the shell script Gmake.linux to use gmake
- on a linux system.
-
- Install it as /usr/bin/Gmake with:
-
- cp Gmake.linux /usr/bin/Gmake
-
- Then compile the system by calling:
-
- /usr/bin/Gmake
- or ./Gmake.linux
-
- NOTES for S.u.S.E distributions: you must unset an environment variable
- called PROMPT_COMMAND
- It contains illegal values for a make file system.
-
- I M P O R T A N T
-
- please carefully read all notes:
-
- Newer Linux kernels (from 2.3.51) moved SVSv shared memory into a filesystem.
- If you get messages with error code EINVAL related to shared memory, you
- most likely installed a newer kernel on an old system that does not mount
- the new shared memory filesystem.
- For information on this filesystem please read README.linux-shm
-
- If you have any problems to access a device on the SCSI bus, check your
- /dev/sg devices first. Your system should either only have /dev/sga...
- or /dev/sg0... The newer Linux kernel use /dev/sg0... so the actual
- SCSI transport code checks for /dev/sg0... first. Many Linux installations
- have too few /dev/sg* device nodes. This is because of the funny device
- mapping. It may be possible that one SCSI device eats up 8 /dev/sg* entries.
- I recommend to have at least 20 /dev/sg* device nodes.
-
- In any case: first read the man page for hints how to specify the device.
- If nothing helps, first run e.g. cdrecord -scanbus. If this does not find
- your device, the problem is in your kernel or system installation.
- If scanning the bus finds the device, you are using the wrong device name.
- If nothing help try to call e.g. strace cdrecord
-
- Linux ATAPI hints:
-
- Read README.ATAPI to learn how to use ATAPI drives with the SCSI transport
- library.
-
- Linux SCSI hints:
-
- If you want to use the user SCSI library on a target that is connected
- to a SCSI hostadapter which is not the first, you need to apply a patch
- to your Linux kernel code. This patch is located in the file
-
- Linux.scsi-patch
-
- Please chdir to /usr/src, call
- patch < Linux.scsi-patch
- and re-compile and re-install your kernel.
-
- Linux kernels past 2.0.30 will probably already have this patch included.
-
- I recommend to use Linux 2.0.35 or later or Linux 2.1.115 or later.
- These versions of Linux will include ATAPI support in a way needed by cdrecord.
- Linux 2.1.115 or newer will in addition support the Parallel Port / ATAPI
- adapters found in some CD-R or CD-RW drives.
-
- IMPORTANT:
-
- - Although cdrecord supports to use dev=/dev/sgc, it is not recommended
- and it is unsupported.
-
- The /dev/sg* device mapping in Linux is not stable! Using dev=/dev/sgc
- in a shell script may fail after a reboot because the device you want
- to talk to has moved to /dev/sgd. For the proper and OS independent
- dev=<bus>,<tgt>,<lun> syntax read the man page of cdrecord.
-
- - In some architectures (at least on sparc / alpha / ppc) kernels prior
- to 2.0.32 are not usable because the call to mlockall() kills cdrecord.
-
- - If you get a message like:
-
- cdrecord: Function not implemented. shmget failed
-
- You need to look for three possible reasons:
-
- - You are using a Linux Kernel 2.3.51 or newer.
- Read README.linux-shm
-
- - You removed SVSv IPC from your kernel. You need to enable it again.
- Run a Linux kernel config and recompile with SYSv IPC.
-
- - The allowed amount of shared memory in the kernel is
- not sufficient. See next main point for a solution:
-
- - You may need to edit /usr/src/linux/include/asm*/shmparam.h to allow at least
- 4 MB of shared memory for your architecture by modifying SHMMAX
- and re-compile/re-install Linux !
- (note that Linux for Intel by default allows 16 MB)
-
- Do this by e.g. changing the #define for SHMMAX to:
-
- #define SHMMAX 0x1000000 /* max shared seg size (bytes) */
-
- This will allow 16 MB for shared memory.
-
- - If you get the message: "Cannot allocate memory. Cannot send SCSI cmd via ioctl"
- Your kernel/include files are inconsistent.
-
- This seems to be the case with most actual Linux kernels!!!!!!
-
- Make sure, that the include file /usr/src/linux/include/scsi/sg.h
- reflects the actual kernel. Usually, the files /usr/include/scsi/sg.h
- and /usr/src/linux/include/scsi/sg.h should be identical.
-
- **** Never change the content of /usr/src/linux/include/scsi/sg.h without
- properly recompiling the kernel. Cdrecord depends on the fact that
- the value of the define SG_BIG_BUFF uses the same value as the actual
- kernel. Use cdrecord -scanbus -debug to get the value of SG_BIG_BUFF
- with cdrecord has been compiled. An output of:
-
- scsi_getbuf: 32768 bytes
-
- indicates that cdrecord has been compiled with 32k SG_BIG_BUF
-
- The Linux 'sg' driver is the worst driver design, I've ever seen.
-
- Joerg
-